-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DPE-4614] Add support for tracing through tempo-k8s #149
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
questions:
- does the decorator from charm_tracing make debugging the charm with pdb more difficult?
- any significant performance penalty or decreased resilience in case of network failures (e.g. if tracing code has bug and raises exception, will that affect HA/upgrades/rollbacks)?
- any issues if some units of the charm have a different version of the tracing code lib (e.g. while an upgrade is in-progress)?
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Thank you!
Please prepare the documentation post how to enable it (as a new document):
https://charmhub.io/mysql-router/docs/h-enable-monitoring?channel=dpe/edge
when I discussed this with @PietroPasotti a few months ago, my understanding was that this was meant to be used in production—has that changed? if it's not meant to be used in production, should we merge to main? |
charm tracing is not expected to be enabled in production as i understand it, but i still think that there is value in pulling a charm from one of our tracks in a non-prod env and instrument tracing. the tracing integration is an optional one, and does not add any issues if not related to tempo |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good
|
||
|
||
@trace_charm( | ||
tracing_endpoint="tracing_endpoint", | ||
extra_types=( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what's the criteria for choosing what goes in extra_types
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any extra "class" that contains logic that we would like to instrument needs to go into extra_types
. if there's a class that is not the charm or in extra_types
, when the code in that class is run, the trace will have an empty pocket as it will not be instrumented
Issue
We would like to be able to instrument our charm and generate traces to discover inefficiencies in charm code execution. The observability team has developed a charm for tempo that we would like to integrate with.
Solution
Integrate with the tempo charm
Considerations
edge
version of cos-lite until they release to stable as it contains some critical fixes